Table of contents

Optimize

How to optimize my app launching speed?

  • Turn on optimize for speed option

    SoftwareShield will try to use compressor with best decompressing speed and all possible optimizations to make sure the app loading is as quick as possible.

  • Turn off Qt Embedding

    Qt runtime is embedded by default, it can be disabled to save the time uncompressing and virtualizing Qt dlls and resources.

SoftwareShield IDE main menu => Edit => Ironwrapper => General:

  • Implement you own License UI

    The default Qt-based UI template for Standard Project Type uses HTML/Javascript to render license UI which might be too overskill for some light-weight apps. You can implement your own in-app license GUI with SoftwareShield SDK so that the time-consuming Qt/HTML/Javascript process can be avoided.

    SoftwareShield will provide other native-component-based UI templates which will give you more choices later.

  • Keep your exe as small as possible

    Launching a big exe into memory takes time due to the complexity of loading process, it can even become worse if an AV (anti-virus software) tries to scan every bit of executables which take more time to finish ( some AV scanning algorithms hang or have extremely poor performance when scanning big exe file) before the operating system can get a chance to start exe loading.

    Because SoftwareShield allow you embed any kinds of data into package, it can output big or even huge app exe in some cases. so the best practice is: create a second Pure Data Package as container to host app data files and non-start-up executables (*.DLL and *.EXE not to be loaded directly by double-clicking)

  • Embed App Data Wisely

    SoftwareShield file embedding provides security for file protection at the price of performance drawback (extra CPU cycles and memory consumption), if your app file does not need to be protected, or the file is already compressed / encrypted, then there is no need to wrap it. Some popular data file format (*.PAK) pack tons of media files inside it, and the app access the packed data file via ad-hoc APIs at runtime, it might not be efficient to wrap the big *.pak file in SoftwareShield package.

  • Code-sign your app exe

    It sounds weird code-signed app exe might can improve launching speed, but it is true because most firewall or AV software might bypass the security checking and scanning for exe with valid digital signature, hence improves the speed.

How to optimize my app size?

  • Turn on optimize for size option

SoftwareShield will try to use compressor with best compressing efficiency and all possible optimizations to make sure the wrapped app is as small as possible.

SoftwareShield IDE main menu => Edit => Ironwrapper => General:

  • Implement you own License UI

    The default Qt-based UI template for Standard Project Type uses HTML/Javascript to render license UI which might be too overskill for some light-weight apps. You can implement your own UI in native code inside your app, which can save you about 9MB footprint in deployment.